MySQL#2(数据模型,SQL通用语法,SQL分类) |
您所在的位置:网站首页 › mysql 排序字段 › MySQL#2(数据模型,SQL通用语法,SQL分类) |
目录 一.数据模型 二.SQL通用语法 三.SQL的分类 1.DDL DDL---操作数据库 DDL---操作表 2.DML DML---操作数据 3.DQL(重点) 基础查询 条件查询 排序查询 分组查询 分页查询 扩展: 聚合函数 一.数据模型数据库在内存中是以文件夹的方式存在 数据表和数据是以文件的形式存在 二.SQL通用语法1.SQL 语句可以单行或多行书写,以分号结尾 2.MySQL 数据库的 SQL 语不区分大小写,关键字建议使用大写 3.注释 单行注释:-- 注释内容(--后的空格不能省略)或#注释内容(#后没有空格)(MySQL 特有) 多行注释:/* 注释*/ 示范: DDL(Data Definition Language) 数据定义语言,用来定义数据库对象: 数据库,表,列等DML(Data Manipulation Language) 数据操作语言,用来对数据库中表的数据进行增删改DQL(Data Query Language)数据查询语言,用来查询数据库中表的记录(数据)DCL(Data Control Language) 数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户 1.DDL DDL---操作数据库1.查询 SHOW DATABASES;
1.创建表(Create) Create Table 表名( 字段名1 数据类型1, 字段名2 数据类型2, ... 字段名n 数据类型n ) 注意: 是字段名在前,数据类型在后, 最后一个末尾不需要逗号 2.查询表(Retrieve) 查询当前数据库下所有表的名称 Show Tables; 查询表结构 Desc 表名称; 3.修改表(Update) 1修改表名 ALTER TABLE 表名 RENAME TO 新的表名; 2.添加一列 ALTER TABLE 表名 ADD 列名 数据类型; 3.修改数据类型 ALTER TABLE 表名 MODIFY 列名 新数据类型; 4.修改列名和数据类型 ALTER TABLE 表名 CHANGE 列名 新列名新数据类型; 5.删除列 ALTER TABLE 表名 DROP 列名; 4.删除表(Delete) Drop Table 表名; 判断是否存在再删除表 Drop Table if exites 表名; 2.DML DML---操作数据1.添加数据 (1)给指定列添加数据 INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...); (2)给全部列添加数据 INSERT INTO 表名 VALUES(值1,值2,...); (3)批量添加数据 INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...),(值1,值2,...),(值1,值2,.....); INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,..),(值,值2,.....); 2.修改数据 修改表数据 UPDATE 表名 SET 列名1=值1,列名2=值2,... WHERE 条件; 注意:修改语句中如果不加条件则将所有数据都修改 修改前: 修改后: 3.删除数据 DELETE FROM 表名 WHERE 条件 ; 注意:删除语句中如果不加条件,则将所有数据都删除 查询语法 SELECT 字段列表 FROM 表名列表 WHERE 条件列表 GROUP BY 分组字段 HAVING 分组后条件 ORDER BY 排序字段 LIMIT 分页限定 基础查询 条件查询(WHERE) 分组查询(GROUP BY) 排序查询(ORDER BY) 分页查询(LIMIT) 基础查询1.查询多个字段 SELECT 字段列表 FROM 表名; SELECT * FROM 表名;-- 查询所有数据 2.去除重复记录 SELECT DISTINCT 字段列表 FROM 表名;
1.条件查询语法 SELECT 字段列表 FROM 表名 WHERE 条件列表; 2.条件 符号 功能 > 大于 >= 大于等于 = 等于 或 != 不等于BETWEEN ... AND ... 在某个范围之内(都包含) IN(...) 多选一LIKE 占位符 模糊查询, _单个任意字符 %多个任意字符IS NULL 是NULLIS NOT NULL 不是NULL AND 或 && 并且 OR或Il 或者 NOT 或! 非,不是 1.排序查询语法 SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1[排序方式1],排序字段名2[排序方式2] ...; 排序方式 ASC:升序排列(默认值) DESC:降序排列注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序中 1.分组查询语法 SELECT 字段列表 FROM 表名[WHERE 分组前条件限定] GROUP BY 分组字段名[HAVING 分组后条件过滤];注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义where和 having 区别: 执行时机不一样:where 是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤. 可判断的条件不一样: where 不能对聚合函数进行判断,having 可以。 执行顺序: where > 聚合函数 >having 1.分页查询语法 SELECT 字段列表 FROM 表名 LIMIT起始索引,查询条目数; 起始索引:从0开始 计算公式: 起始索引 =(当前页码-1) 每页显示的条数 tips: 分页查询limit是MysQL数据库的方言 Oracle分页查询使用rownumber SQL Server分页查询使用 top 1.概念: 将一列数据作为一个整体, 进行纵向计算 2.聚合函数的分类: 函数名 功能 count(列名) 统计数量(一般选用不为null的列) max(列名) 最大值 min(列名) 最小值 sum(列名) 求和 avg(列名) 平均值 3.语法: select 聚合函数名(列名) from 表; 注意: null不会参与聚合函数的运算 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |